﻿namespace OpenAdmin.Application.Services;

/// <summary>
/// 用户服务接口
/// </summary>
public interface IUserService
{
    /// <summary>
    /// 获取用户信息
    /// </summary>
    /// <returns></returns>
    Task<UserInfoResponseDto> GetUserInfo();

    /// <summary>
    /// 分页获取用户信息
    /// </summary>
    /// <param name="requestDto"></param>
    /// <returns></returns>
    Task<PagedList<UserResponseDto>> GetUsersByPage(UserRequestDto requestDto);

    /// <summary>
    /// 添加用户
    /// </summary>
    /// <param name="requestDto"></param>
    /// <returns></returns>
    Task AddUser(AddUserRequestDto requestDto);

    /// <summary>
    /// 更新用户信息
    /// </summary>
    /// <param name="requestDto"></param>
    Task EditUser(EditUserRequestDto requestDto);

    /// <summary>
    /// 删除用户
    /// </summary>
    /// <param name="id"></param>
    Task DeleteUser(int id);

    /// <summary>
    /// 分配角色
    /// </summary>
    /// <param name="requestDto"></param>
    /// <returns></returns>
    Task DistributionRole(DistributionRoleRequestDto requestDto);
}
